package com.mukefile.service;

import com.mukefile.pojo.Manager;
import com.mukefile.pojo.User;

import java.util.List;
import java.util.Map;

/**
 * @Author: kenewstar
 * @Description: 管理员业务逻辑层
 * @Date:Created in 2020/5/6
 */
public interface ManagerService {
    /**
     * 管理员登录
     * @param manager 管理员登录的信息
     * @return 返回所有信息
     */
    Manager managerLogin(Manager manager);

    /**
     * 管理员退出
     * @param session 存放管理员对象的session
     */
    void managerExit(Map<String,Object> session);

    /**
     * 显示所有用户信息
     * @return 返回所有用户信息
     */
    List<User> showAllUser();

    /**
     * 重置用户密码
     * @param uid 用户id
     * @param manager 管理员
     * @return 返回是否成功
     */
    int resetPwd(Integer uid,Manager manager);

    /**
     * 磁盘扩容
     * @param uid 用户id
     * @param size 磁盘增加的大小
     * @param manager 管理员
     * @return
     */
    int expandDisk(Integer uid,Integer size,Manager manager);

    /**
     * 根据用户名关键字查询用户
     * @param username 用户名关键字
     * @return 返回查询结果
     */
    List<User> searchUser(String username);

    /**
     * 根据用户名查询用户是否存在
     * @param username 用户名
     * @return
     */
    List<User> selectUserByName(String username);

    /**
     * 添加用户
     * @param user 用户信息
     * @param manager 管理员
     * @return
     */
    int addUser(User user,Manager manager);
}
